package com.example.personal.aiagent.common.model.vo;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.example.personal.aiagent.user.model.dto.UserDTO;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.util.List;
import java.util.stream.Collectors;

/**
 * 通用列表响应
 *
 * @param <T> 模板
 */
@Data
public class CommonListResponse<T> {
    /**
     * 当前页码
     */
    private long current;
    /**
     * 数据
     */
    private List<T> records;
    /**
     * 单页数量
     */
    private long size;
    /**
     * 页码总数
     */
    private long pages;
    /**
     * 总数
     */
    private long total;

    public static <T> CommonListResponse<T> ListDTOToVO(IPage<T> dtos) {
        CommonListResponse<T> res = new CommonListResponse<>();
        BeanUtils.copyProperties(dtos, res);
        return res;
    }
}
